Universal Serial Bus (USB) ports have been applied widely to connect peripheral devices to computers. Typical peripheral connections connected through USB are printers, scanners, zip drives, digital cameras, mice, joysticks, modems, speakers, telephones, video phones and network connections.
USB provides the plug-and-play feature to a broad range of peripherals in a variety of possible digital designs using USB. In normal system operation, when a USB device is attached to the USB bus, the USB host automatically detects that the device is attached and establishes communications. However, many USB designs do not guarantee this attach detection feature. When detection fails, USB users have to unplug the device connection and attempt insertion several times to get the USB host to recognize the device.
The standard for USB version 2.0 was released in April 2000 and is an upgrade for USB 1.1. USB 2.0 (High-speed USB) provides additional bandwidth for multimedia and storage applications. USB 2.0 has a data transmission speed of 480 megabits per second, 40 times faster than USB 1.1, which transmits data at 12 megabits per second. To allow a smooth transition for both consumers and manufacturers, USB 2.0 has full forward and backward compatibility with original USB devices and works with cables and connectors made for earlier versions of USB.
USB On-the-Go (OTG) is a new USB communication protocol specified in the USB 2.0 specification. USB OTG allows peer-to-peer communications between two USB OTG devices enabling, for example, a digital camera to directly communicate with a printer without the need of a PC as a host. USB On-the-Go (OTG) is a new USB communication protocol specified in the USB 2.0 specification. USB OTG allows peer-to-peer communications between two USB OTG devices enabling, for example, a digital camera to directly communicate with a printer without the need of a PC as a host. Generally a USB 1.1 device cannot directly communicate with a USB OTG device because of communication protocol differences between the two. As USB OTG is gaining popularity, the demand for USB 1.1 devices to communicate with USB OTG devices has created additional technical challenges.
The OTG supplement to the USB 2.0 specification uses the following defined terms:
Host USB device: a physical entity that is attached to a USB cable and acts in the role of initiating all data transmission transactions and provides periodic start-of-frame timing.
USB A-Device: supplies power to the Vbus power line. It is host at the start of a transaction session. It will relinquish the role of host to a dual-role B-Device to which it is connected by a USB cable. This can occur only under the rules determined by the host negotiation protocol (HNP).
USB B-Device: is always a peripheral at the start of a transaction session. B-devices may be single role (peripheral only) or dual-role (peripheral/host). Typically a B-Device requests a session according to USB 2.0 OTG session request protocol (SRP). If a B-Device is dual-role it may subsequently be granted the role of host from the A-Device under USB 2.0 OTG host negotiation protocol (HNP).
FIG. 1 illustrates a simplified conventional circuit used for the attachment of USB device 101 to be detected by USB host 102. The USB bus includes the four wire connections: Vbus 103; D+ 104; D− 105; and GND 106. A level shift circuit 108 reduces the 5V power supply input to the USB Device at node 109 to 3.3V across pull-up resistor 107 within the USB Device 101. If USB device 101 were not attached to the USB bus, USB data line D+ 103 and D− 104 on the host side would both be pulled down to ground level through respective pull down resistors 109 and 110. The Vbus line 103 would have no power drain in this state.
When USB device 101 is attached to the USB bus, the USB D+ data line 104 is pulled high to 3.3 volts through resistor 107. The USB host 102 senses device attach by detecting this signal change. This attach detection method on the USB device side is implementation dependent. Many USB Devices detect bus attach in this manner by simply sensing the presence of some measurable USB bus power on the Vbus line.
In USB suspend mode, where USB device 101 is attached but not in active use, the maximum current draw allowed by USB 1.1 devices from the Vbus is less than 500 μA. Specifications also require that a non-configured USB OTG (acronym for On-the-Go) device shall not draw more than 150 μA from the Vbus. Many proposed detection implementations are hard pressed to meet the USB specification requiring compliance with the low current-draw requirement, particularly in the USB suspend mode. It is even more difficult to meet the lower current draw requirements set by USB OTG specifications for devices attached directly to the USB bus. Even if the current draw requirement is met, it often happens that the device is not consistently accepted by the USB host and communications are not established.